switch(parser.currentReduction().getParentRule().getTableIndex())
                      {
                         case RuleConstants.RULE_PROGRAM_CLASS_PROGRAM_LBRACE_RBRACE:
                            //<Program> ::= class Program '{' <kleene_declaration> '}'
                            break;
                         case RuleConstants.RULE_KLEENE_DECLARATION:
                            //<kleene_declaration> ::= <declaration> <kleene_declaration>
                            break;
                         case RuleConstants.RULE_KLEENE_DECLARATION2:
                            //<kleene_declaration> ::= 
                            break;
                         case RuleConstants.RULE_DECLARATION:
                            //<declaration> ::= <structDeclaration>
                            break;
                         case RuleConstants.RULE_DECLARATION2:
                            //<declaration> ::= <varDeclaration>
                            break;
                         case RuleConstants.RULE_DECLARATION3:
                            //<declaration> ::= <methodDeclaration>
                            break;
                         case RuleConstants.RULE_VARDECLARATION_ID_SEMI:
                            //<varDeclaration> ::= <Type> id <varDecl 1> ';'
                            break;
                         case RuleConstants.RULE_VARDECL1_LBRACKET_NUM_RBRACKET:
                            //<varDecl 1> ::= '[' num ']'
                            break;
                         case RuleConstants.RULE_VARDECL1:
                            //<varDecl 1> ::= 
                            break;
                         case RuleConstants.RULE_STRUCTDECLARATION_STRUCT_ID_LBRACE_RBRACE:
                            //<structDeclaration> ::= struct id '{' <kleene_varDeclaration> '}'
                            break;
                         case RuleConstants.RULE_KLEENE_VARDECLARATION:
                            //<kleene_varDeclaration> ::= <varDeclaration> <kleene_varDeclaration>
                            break;
                         case RuleConstants.RULE_KLEENE_VARDECLARATION2:
                            //<kleene_varDeclaration> ::= 
                            break;
                         case RuleConstants.RULE_METHODDECLARATION_ID_LPARAN_RPARAN:
                            //<methodDeclaration> ::= <Type> id '(' <opt_parameter> ')' <block>
                            break;
                         case RuleConstants.RULE_OPT_PARAMETER:
                            //<opt_parameter> ::= <parameter list>
                            break;
                         case RuleConstants.RULE_OPT_PARAMETER2:
                            //<opt_parameter> ::= 
                            break;
                         case RuleConstants.RULE_PARAMETERLIST:
                            //<parameter list> ::= <parameter>
                            break;
                         case RuleConstants.RULE_PARAMETERLIST_COMMA:
                            //<parameter list> ::= <parameter list> ',' <parameter>
                            break;
                         case RuleConstants.RULE_TYPE_INT:
                            //<Type> ::= int
                            break;
                         case RuleConstants.RULE_TYPE_CHAR:
                            //<Type> ::= char
                            break;
                         case RuleConstants.RULE_TYPE_BOOLEAN:
                            //<Type> ::= boolean
                            break;
                         case RuleConstants.RULE_TYPE_VOID:
                            //<Type> ::= void
                            break;
                         case RuleConstants.RULE_TYPE_STRUCT_ID:
                            //<Type> ::= struct id
                            break;
                         case RuleConstants.RULE_TYPE:
                            //<Type> ::= <structDeclaration>
                            break;
                         case RuleConstants.RULE_PARAMETER_ID:
                            //<parameter> ::= <Type> id
                            break;
                         case RuleConstants.RULE_PARAMETER_ID_LBRACKET_RBRACKET:
                            //<parameter> ::= <Type> id '[' ']'
                            break;
                         case RuleConstants.RULE_BLOCK_LBRACE_RBRACE:
                            //<block> ::= '{' <kleene_varDeclaration> <kleene_statement> '}'
                            break;
                         case RuleConstants.RULE_KLEENE_STATEMENT:
                            //<kleene_statement> ::= <statement> <kleene_statement>
                            break;
                         case RuleConstants.RULE_KLEENE_STATEMENT2:
                            //<kleene_statement> ::= 
                            break;
                         case RuleConstants.RULE_STATEMENT:
                            //<statement> ::= <block>
                            break;
                         case RuleConstants.RULE_STATEMENT2:
                            //<statement> ::= <selection>
                            break;
                         case RuleConstants.RULE_STATEMENT3:
                            //<statement> ::= <iteration>
                            break;
                         case RuleConstants.RULE_STATEMENT_SEMI:
                            //<statement> ::= <return> ';'
                            break;
                         case RuleConstants.RULE_STATEMENT_SEMI2:
                            //<statement> ::= <assign> ';'
                            break;
                         case RuleConstants.RULE_STATEMENT_SEMI3:
                            //<statement> ::= <opt_expression> ';'
                            break;
                         case RuleConstants.RULE_SELECTION_IF_LPARAN_RPARAN:
                            //<selection> ::= if '(' <expression> ')' <block> <opt_else_block>
                            break;
                         case RuleConstants.RULE_OPT_ELSE_BLOCK_ELSE:
                            //<opt_else_block> ::= else <block>
                            break;
                         case RuleConstants.RULE_OPT_ELSE_BLOCK:
                            //<opt_else_block> ::= 
                            break;
                         case RuleConstants.RULE_ITERATION_WHILE_LPARAN_RPARAN:
                            //<iteration> ::= while '(' <expression> ')' <block>
                            break;
                         case RuleConstants.RULE_RETURN_RETURN:
                            //<return> ::= return <opt_expression>
                            break;
                         case RuleConstants.RULE_ASSIGN_EQ:
                            //<assign> ::= <location> '=' <expression>
                            break;
                         case RuleConstants.RULE_OPT_EXPRESSION:
                            //<opt_expression> ::= <expression>
                            break;
                         case RuleConstants.RULE_OPT_EXPRESSION2:
                            //<opt_expression> ::= 
                            break;
                         case RuleConstants.RULE_EXPRESSION:
                            //<expression> ::= <Rel Exp> <conditionalop> <expression>
                            break;
                         case RuleConstants.RULE_EXPRESSION2:
                            //<expression> ::= <Rel Exp>
                            break;
                         case RuleConstants.RULE_RELEXP:
                            //<Rel Exp> ::= <Add Exp> <relop> <Rel Exp>
                            break;
                         case RuleConstants.RULE_RELEXP2:
                            //<Rel Exp> ::= <Add Exp>
                            break;
                         case RuleConstants.RULE_ADDEXP:
                            //<Add Exp> ::= <Mult Exp> <addop> <Add Exp>
                            break;
                         case RuleConstants.RULE_ADDEXP2:
                            //<Add Exp> ::= <Mult Exp>
                            break;
                         case RuleConstants.RULE_MULTEXP:
                            //<Mult Exp> ::= <Negate Exp> <mulop> <Mult Exp>
                            break;
                         case RuleConstants.RULE_MULTEXP2:
                            //<Mult Exp> ::= <Negate Exp>
                            break;
                         case RuleConstants.RULE_NEGATEEXP_MINUS:
                            //<Negate Exp> ::= '-' <Value>
                            break;
                         case RuleConstants.RULE_NEGATEEXP_EXCLAM:
                            //<Negate Exp> ::= '!' <Value>
                            break;
                         case RuleConstants.RULE_NEGATEEXP:
                            //<Negate Exp> ::= <Value>
                            break;
                         case RuleConstants.RULE_CONDITIONALOP_AMPAMP:
                            //<conditionalop> ::= '&&'
                            break;
                         case RuleConstants.RULE_CONDITIONALOP_PIPEPIPE:
                            //<conditionalop> ::= '||'
                            break;
                         case RuleConstants.RULE_RELOP_LTEQ:
                            //<relop> ::= '<='
                            break;
                         case RuleConstants.RULE_RELOP_LT:
                            //<relop> ::= '<'
                            break;
                         case RuleConstants.RULE_RELOP_GT:
                            //<relop> ::= '>'
                            break;
                         case RuleConstants.RULE_RELOP_GTEQ:
                            //<relop> ::= '>='
                            break;
                         case RuleConstants.RULE_RELOP_EQEQ:
                            //<relop> ::= '=='
                            break;
                         case RuleConstants.RULE_RELOP_EXCLAMEQ:
                            //<relop> ::= '!='
                            break;
                         case RuleConstants.RULE_ADDOP_PLUS:
                            //<addop> ::= '+'
                            break;
                         case RuleConstants.RULE_ADDOP_MINUS:
                            //<addop> ::= '-'
                            break;
                         case RuleConstants.RULE_MULOP_TIMES:
                            //<mulop> ::= '*'
                            break;
                         case RuleConstants.RULE_MULOP_DIV:
                            //<mulop> ::= '/'
                            break;
                         case RuleConstants.RULE_MULOP_PERCENT:
                            //<mulop> ::= '%'
                            break;
                         case RuleConstants.RULE_VALUE:
                            //<Value> ::= <literal>
                            break;
                         case RuleConstants.RULE_VALUE_LPARAN_RPARAN:
                            //<Value> ::= '(' <expression> ')'
                            break;
                         case RuleConstants.RULE_VALUE2:
                            //<Value> ::= <methodCall>
                            break;
                         case RuleConstants.RULE_VALUE3:
                            //<Value> ::= <location>
                            break;
                         case RuleConstants.RULE_LOCATION_DOT:
                            //<location> ::= <simpleLocation> '.' <location>
                            break;
                         case RuleConstants.RULE_LOCATION:
                            //<location> ::= <simpleLocation>
                            break;
                         case RuleConstants.RULE_SIMPLELOCATION_ID_LBRACKET_RBRACKET:
                            //<simpleLocation> ::= id '[' <expression> ']'
                            break;
                         case RuleConstants.RULE_SIMPLELOCATION_ID:
                            //<simpleLocation> ::= id
                            break;
                         case RuleConstants.RULE_METHODCALL_ID_LPARAN_RPARAN:
                            //<methodCall> ::= id '(' <opt_arg_separated> ')'
                            break;
                         case RuleConstants.RULE_OPT_ARG_SEPARATED:
                            //<opt_arg_separated> ::= <arg list>
                            break;
                         case RuleConstants.RULE_OPT_ARG_SEPARATED2:
                            //<opt_arg_separated> ::= 
                            break;
                         case RuleConstants.RULE_ARGLIST:
                            //<arg list> ::= <arg>
                            break;
                         case RuleConstants.RULE_ARGLIST_COMMA:
                            //<arg list> ::= <arg list> ',' <arg>
                            break;
                         case RuleConstants.RULE_ARG:
                            //<arg> ::= <expression>
                            break;
                         case RuleConstants.RULE_LITERAL:
                            //<literal> ::= <int_literal>
                            break;
                         case RuleConstants.RULE_LITERAL2:
                            //<literal> ::= <char_literal>
                            break;
                         case RuleConstants.RULE_LITERAL3:
                            //<literal> ::= <bool_literal>
                            break;
                         case RuleConstants.RULE_INT_LITERAL_NUM:
                            //<int_literal> ::= num
                            break;
                         case RuleConstants.RULE_CHAR_LITERAL_CHARACTER:
                            //<char_literal> ::= character
                            break;
                         case RuleConstants.RULE_BOOL_LITERAL_TRUE:
                            //<bool_literal> ::= true
                            break;
                         case RuleConstants.RULE_BOOL_LITERAL_FALSE:
                            //<bool_literal> ::= false
                            break;
                      }

